package cn.edu.scnu.service;

import cn.edu.scnu.entity.Member;
import cn.edu.scnu.entity.Movie;
import cn.edu.scnu.entity.MovieDetails;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

public interface MovieService extends IService<Movie> {
    /**
     * 根据演员或导演检索电影
     * @param actorName
     * @return
     */
    List<Movie> findMoviesByActorName(String actorName);

    /**
     * 根据电影类型检索电影
     * @param page
     * @param size
     * @param type
     * @param region
     * @return
     */
    List<Movie> findMovies(int page, int size, String type, String region);

    /**
     * 获取电影总数
     * @param type
     * @param region
     * @return
     */
    int getMovieCount(String type, String region);


    /**
     * 判断会员是否可以观看VIP电影
     * @param member
     * @param movieId
     * @return
     */
    boolean canWatchMovie(Member member, String movieId);

    // 获取电影详细信息
    MovieDetails getMovieDetails(String movieId);
}
